package messages

import "encoding/json"

type (

	// IncomingMessage 收到的消息，根据 Type 字段判断消息类型
	IncomingMessage struct {
		Type      *string `json:"type"`
		GroupId   int     `json:"groupId"`
		SourceKey string  `json:"channel"`
	}
	SentMessageStruct struct {
		Type    string `json:"type"`
		Message string `default:"" json:"message,omitempty"`
	}
	IncomingMessageWithContent struct {
		Type    *string `json:"type"`
		Content *string `json:"content"`
		GroupId int     `json:"groupId"`
	}
)

func (m *SentMessageStruct) GetType() string {
	return m.Type
}

func (m *SentMessageStruct) ToJSON() []byte {
	b, _ := json.Marshal(m)
	return b
}
